package com.zhijian.wharf.entity.vo.request;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * 人员新增请求vo
 *
 * @author HCG
 * @version 1.0
 * @date 2022/1/21
 */
@Api(tags = "人员新增请求vo")
@Data
public class UserSaveOrUpdateVo implements Serializable {
    private static final long serialVersionUID = -7305078779171809738L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id", hidden = true)
    private Long id;

    /**
     * 负责人名称
     */
    @ApiModelProperty("负责人名称")
    private String name;

    /**
     * 用户名
     */
    @ApiModelProperty("用户名")
    private String userName;

    /**
     * 用户昵称
     */
    @ApiModelProperty("用户昵称")
    @NotBlank(message = "用户昵称不能为空")
    private String nickName;

    /**
     * 负责人电话
     */
    @ApiModelProperty("负责人电话")
    @NotBlank(message = "负责人电话不能为空")
    private String phone;

    /**
     * 密码
     */
    @ApiModelProperty(value = "密码", hidden = true)
    private String password;

    /**
     * 职位、科室id
     */
    @ApiModelProperty("职位、科室id")
    private Long groupId;

    /**
     * 工号
     */
    @ApiModelProperty("工号")
    private String jobNumber;

    /**
     * 状态，0：停用，1：正常
     */
    @ApiModelProperty("状态，0：停用，1：正常")
    private Byte status;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String note;

    /**
     * 邮箱地址
     */
    @ApiModelProperty("邮箱地址")
    private String email;

    /**
     * 权限ID数组
     */
    @ApiModelProperty("权限ID数组")
    @NotNull(message = "权限ID数组不能为空")
    @Size(min = 1, message = "权限ID数组不能为空")
    private List<Long> roleIds;

}
